<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="../../style.css">
</head>
<body>
<h1>解决vim对html中js缩进不正确的问题</h1>
<p>如果你用homebrew安装vim8.2，你就会遇到这个问题。（其他情况怎么样我就不知道了）</p>
<p>具体表现在大括号每次都会多加三个tab的缩进。说实话很离谱。</p>
<p>解决方法：</p>
<p>找到<code>/usr/local/opt/vim/share/vim/vim82/indent/html.vim</code>这个文件中大概594行的位置</p>
<p>如果没错的话应该是在Alien3函数里，会发现一行代码如下：</p>
<p><code>return eval(b:hi_js1indent) + GetJavascriptIndent()</code></p>
<p>另外它的上面一行代码是<code>if b:hi_indent.scripttype == "javascript"</code></p>
<p>把这行代码改为<code>return GetJavascriptIndent()</code>，保存退出，缩进就正常了。</p>
<p>这个方法是我用icdiff工具对照系统自带vim的缩进文件（位于 /usr/share/vim/vim81/indent/html.vim）找到的。</p>
<br /><br />
<small><small>最后修改于Sat Jan 15 11:38:56 2022</small></small>
</body>
</html>